package com.pe.pgn.clubpgn.dao;

import java.math.BigDecimal;
import java.util.List;

import com.pe.pgn.clubpgn.domain.ClpbTarjetaPersona;
import com.pe.pgn.clubpgn.domain.beans.BNTarjetaPersona;

public interface TarjetaPersonaDao extends GenericDao<ClpbTarjetaPersona, Long> {
	
	public List<ClpbTarjetaPersona> obtenerTarjetasPersonas();
	public ClpbTarjetaPersona obtenerTarjetaPersona(Long id);
	public void guardarTarjetaPersona(ClpbTarjetaPersona tarjetaPersona);
	public void eliminarTarjetaPersona(Long id);
	public void guardarGrupoTarjetasPersonas(BNTarjetaPersona tarjetaPersona);
	public boolean existeRango(BNTarjetaPersona tarjetaPersona);
	public BigDecimal obtenerMaximoCodigoTarjetaPersona() ;
	public List<String> obtenerListaTarjetaNoAsignadas();
	public boolean existenCodigosAsignadosEnRango(BNTarjetaPersona tarjetaPersona);
	public void asignarTarjetasPersonas(BNTarjetaPersona tarjetaPersona);
	public List<ClpbTarjetaPersona> buscarTarjetas(String coCodigoTarjetaPersona, 
			Long coEstacion, String deNombre, String fechaVigencia, 
			String estadoTarjeta, String stStrAnulada);
	public List<String> obtenerListaTarjetaNoAsignadosClientes(Long coEstacion);
	public void reasignarTarjetasPersonas(BNTarjetaPersona tarjetaPersona);
	public boolean existenCodigosAsignadosEnRangoPorEstacion(
			BNTarjetaPersona tarjetaPersona);
}
